// Copyright (c) Orbbec Inc. All Rights Reserved.
// Licensed under the MIT License.

#include "PropertyHelper.hpp"
#include "InternalProperty.hpp"
namespace libobsensor {

#define PROP_INFO_PAIR(property, type) \
    {                                  \
        property, {                    \
            type, #property            \
        }                              \
    }

const std::map<uint32_t, OBPropertyBaseInfo> OBPropertyBaseInfoMap = {
    PROP_INFO_PAIR(OB_PROP_LDP_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LASER_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LASER_PULSE_WIDTH_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LASER_CURRENT_FLOAT, OB_FLOAT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_FLOOD_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_FLOOD_LEVEL_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_TEMPERATURE_COMPENSATION_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_MIRROR_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_FLIP_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_POSTFILTER_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_HOLEFILTER_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_MIRROR_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_FLIP_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_MIN_DEPTH_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_MAX_DEPTH_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_NOISE_REMOVAL_FILTER_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LDP_STATUS_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_NOISE_REMOVAL_FILTER_MAX_DIFF_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_NOISE_REMOVAL_FILTER_MAX_SPECKLE_SIZE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_ALIGN_HARDWARE_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_TIMESTAMP_OFFSET_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_HARDWARE_DISTORTION_SWITCH_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_FAN_WORK_MODE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_ALIGN_HARDWARE_MODE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_ANTI_COLLUSION_ACTIVATION_STATUS_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_PRECISION_LEVEL_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_TOF_FILTER_RANGE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LASER_MODE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_RECTIFY2_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_MIRROR_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_FLIP_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_INDICATOR_LIGHT_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DISPARITY_TO_DEPTH_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_BRT_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_WATCHDOG_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_EXTERNAL_SIGNAL_RESET_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_HEARTBEAT_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_CROPPING_MODE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_D2C_PREPROCESS_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_GPM_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_RGB_CUSTOM_CROP_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEVICE_WORK_MODE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEVICE_COMMUNICATION_TYPE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_SWITCH_IR_MODE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LASER_POWER_LEVEL_CONTROL_INT, OB_INT_PROPERTY),
    //   PROP_INFO_PAIR(OB_PROP_LDP_CALIBRATION_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LDP_MEASURE_DISTANCE_INT, OB_INT_PROPERTY),
    //  PROP_INFO_PAIR(OB_PROP_POWER_VOLTAGE_FLOAT, OB_FLOAT_PROPERTY),
    //  PROP_INFO_PAIR(OB_PROP_LDP_STATUS_LEVEL_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_TIMER_RESET_SIGNAL_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_TIMER_RESET_TRIGGER_OUT_ENABLE_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_TIMER_RESET_DELAY_US_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_CAPTURE_IMAGE_SIGNAL_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEPTH_MIRROR_MODULE_STATUS_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEPTH_DUAL_MIN_DISPARITY_INT, OB_FLOAT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_RIGHT_MIRROR_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_CAPTURE_IMAGE_FRAME_NUMBER_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_RIGHT_FLIP_BOOL, OB_BOOL_PROPERTY),
    //   PROP_INFO_PAIR(OB_PROP_USB_STATUS_CHECK_BOOL, OB_BOOL_PROPERTY),
    //  PROP_INFO_PAIR(OB_PROP_OBOX_STATUS_CHECK_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_ROTATE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_ROTATE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_RIGHT_ROTATE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_ROTATE_INT, OB_INT_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_FAN_WORK_LEVEL_INT, OB_INT_PROPERTY),
    //  PROP_INFO_PAIR(OB_PROP_PID_INT, OB_INT_PROPERTY),
    //  PROP_INFO_PAIR(OB_PROP_FAN_WORK_SPEED_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_USB_POWER_STATE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DC_POWER_STATE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LASER_POWER_ACTUAL_LEVEL_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEVICE_REBOOT_DELAY_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LASER_OVERCURRENT_PROTECTION_STATUS_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LASER_PULSE_WIDTH_PROTECTION_STATUS_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_SYNC_SIGNAL_TRIGGER_OUT_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_START_COLOR_STREAM_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_START_DEPTH_STREAM_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_START_IR_STREAM_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEVICE_DEVELOPMENT_MODE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_RESTORE_FACTORY_SETTINGS_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_BOOT_INTO_RECOVERY_MODE_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEVICE_IN_RECOVERY_MODE_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEVICE_IQ_DEBUG_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_TIMER_RESET_ENABLE_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEVICE_USB2_REPEAT_IDENTIFY_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEPTH_NOISE_REMOVAL_FILTER_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEPTH_EDGE_NOISE_REMOVAL_FILTER_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEPTH_SPATIAL_FAST_FILTER_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEPTH_SPATIAL_MODERATE_FILTER_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEPTH_SPATIAL_ADVANCED_FILTER_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEPTH_HOLE_FILLING_FILTER_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEPTH_FILTER_DUMP_DIFF_LUT_INT, OB_INT_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEPTH_TEMPORAL_FILTER_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LASER_ALWAYS_ON_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LASER_ON_OFF_PATTERN_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_UNIT_FLEXIBLE_ADJUSTMENT_FLOAT, OB_FLOAT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_LASER_CONTROL_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_BRIGHTNESS_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_AE_MAX_EXPOSURE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_AE_MAX_EXPOSURE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DISP_SEARCH_RANGE_MODE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_SLAVE_DEVICE_SYNC_STATUS_BOOL, OB_BOOL_PROPERTY),
    //  PROP_INFO_PAIR(OB_STRUCT_VERSION, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_BASELINE_CALIBRATION_PARAM, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_DEVICE_TEMPERATURE, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_IR_AE_PARAM, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEVICE_UPGRADE_STATUS, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEVICE_FILE_TRAN_STATUS, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_TOF_MODULATION_FREQ, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_TOF_DUTY_CYCLE, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_TOF_EXPOSURE_THRESHOLD_CONTROL, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_TEC_DATA, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_ANTI_COLLUSION_ACTIVATION_CONTENT, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_ANTI_COLLUSION_ACTIVATION_VERIFY, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_GET_GYRO_PRESETS_ODR_LIST, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_GET_ACCEL_PRESETS_ODR_LIST, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_GET_GYRO_PRESETS_FULL_SCALE_LIST, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_GET_ACCEL_PRESETS_FULL_SCALE_LIST, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_DEVICE_SERIAL_NUMBER, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_ASIC_SERIAL_NUMBER, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_DEVICE_TIME, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_MULTI_DEVICE_SYNC_CONFIG, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_RGB_CROP_ROI, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_DEVICE_IP_ADDR_CONFIG, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_CURRENT_DEPTH_ALG_MODE, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_DEPTH_PRECISION_SUPPORT_LIST, OB_STRUCT_PROPERTY),
    //  PROP_INFO_PAIR(OB_PROP_DEPTH_RECTIFY_MASK_FILTER_CONFIG, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_AUTO_EXPOSURE_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_EXPOSURE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_GAIN_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_AUTO_WHITE_BALANCE_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_WHITE_BALANCE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_BRIGHTNESS_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_SHARPNESS_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_SATURATION_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_CONTRAST_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_GAMMA_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_ROLL_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_AUTO_EXPOSURE_PRIORITY_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_BACKLIGHT_COMPENSATION_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_HUE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_POWER_LINE_FREQUENCY_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_AUTO_EXPOSURE_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_EXPOSURE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_GAIN_INT, OB_INT_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_GYRO_SWITCH_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_ACCEL_SWITCH_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_GYRO_ODR_INT, OB_INT_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_ACCEL_ODR_INT, OB_INT_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_GYRO_FULL_SCALE_INT, OB_INT_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_ACCEL_FULL_SCALE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_AUTO_EXPOSURE_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_EXPOSURE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_GAIN_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_CHANNEL_DATA_SOURCE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_DEPTH_RM_FILTER_BOOL, OB_BOOL_PROPERTY),
    //  PROP_INFO_PAIR(OB_PROP_DEPTH_ALG_MODE_TYPE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_HDR_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_FOCUS_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_LONG_EXPOSURE_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_SKIP_FRAME_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_IR_SHORT_EXPOSURE_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_IR_SHORT_EXPOSURE_INT, OB_INT_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_SDK_DEPTH_RECTIFY_MG_FILTER_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_SDK_DEPTH_RECTIFY_MG_FILTER_X_INT, OB_INT_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_SDK_DEPTH_RECTIFY_MG_FILTER_Y_INT, OB_INT_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_SDK_DEPTH_RECTIFY_MG_FILTER_MODE_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEPTH_DDO_CONFIG, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEPTH_DDO_CONFIG_DEFAULT, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_DEPTH_HDR_CONFIG, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_COLOR_AE_ROI, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_DEPTH_AE_ROI, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEPTH_NOISE_REMOVAL_FILTER_PARAMS, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEPTH_EDGE_NOISE_REMOVAL_FILTER_PARAMS, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEPTH_SPATIAL_FAST_FILTER_PARAMS, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEPTH_SPATIAL_MODERATE_FILTER_PARAMS, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEPTH_SPATIAL_ADVANCED_FILTER_PARAMS, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEPTH_HOLE_FILLING_FILTER_PARAMS, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEPTH_TEMPORAL_FILTER_PARAMS, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_UPDATE_BASE_TIME_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_SDK_DISPARITY_TO_DEPTH_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_SDK_DEPTH_FRAME_UNPACK_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_SDK_IR_FRAME_UNPACK_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_SDK_ACCEL_FRAME_TRANSFORMED_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_SDK_GYRO_FRAME_TRANSFORMED_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_SDK_IR_LEFT_FRAME_UNPACK_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_SDK_IR_RIGHT_FRAME_UNPACK_BOOL, OB_BOOL_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_NETWORK_BANDWIDTH_TYPE_INT, OB_INT_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_MULTIPLE_DISTANCE_CALIBRATION_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_REFERENCE_IMAGE, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_HARDWARE_ALIGN_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_SOFTWARE_ALIGN_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_HARDWARE_DISTORTION_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_HARDWARE_ALIGN_PARAM_0, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_HARDWARE_ALIGN_PARAM_1, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_TEMP_COMPENSATE_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_SOFTWARE_ALIGN_PARAM_0, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_SOFTWARE_ALIGN_PARAM_1, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_DEPTH_CALIB_FLASH_FILE, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_ALIGN_CALIB_FLASH_FILE, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_DEPTH_CALIB_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_D2C_ALIGN_SUPPORT_PROFILE_LIST, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_ALIGN_CALIB_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_DISPARITY_TO_DEPTH_PROFILE_LIST, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_CAMERA_CALIB_JSON_FILE, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_D2C_ROT_LUT_FILE, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_MCU_UPGRADE_FILE, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_DEFAULT_STREAM_PROFILE_LIST, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_STREAM_PROFILE_LIST, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_IMU_CALIB_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_DEPTH_ALG_MODE_LIST, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_EFFECTIVE_VIDEO_STREAM_PROFILE_LIST, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_DE_IR_RECTIFY_PARAMS, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_DEVICE_UPGRADE, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_DEVICE_EXTENSION_INFORMATION, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_DEVICE_MAC, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_IR_AE_PARAMS, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_NET_PORT_INFO_LIST, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEBUG_ADB_FUNCTION_CONTROL_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEBUG_SET_FORCE_UPGRADE_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEBUG_LOG_SEVERITY_LEVEL_INT, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEBUG_RECORD_RGB_DATA, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEBUG_RECORD_PHASE_DATA, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEBUG_RECORD_IR_DATA, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEBUG_RECORD_DEPTH_DATA, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEBUG_SENSOR_EXPOSURE_TIME, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_PERIPHERAL_ID_INFO, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_LED_CONTROL, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_FLASH_DATA_TYPE_SECTION_REF_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_FLASH_DATA_TYPE_SECTION_RECTIFY_KK_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_FLASH_DATA_TYPE_SECTION_IR_RGB_PRE_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_FLASH_DATA_TYPE_SECTION_RECTIFY_LUT_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_FLASH_DATA_TYPE_SECTION_D2D_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_FLASH_DATA_TYPE_SECTION_IMU_PARAM, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_UPDATE_MX6600_FLASH_DATA, OB_RAW_DATA_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEPTH_ENGINE_RESET_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_DEBUG_DEVICELOG_SAVE_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_RAW_DATA_DEVICE_LOG_BAG, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_PROP_FAN_MAX_SPEED_TEST_MODE_BOOL, OB_BOOL_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_COLOR_STREAM_PROFILE, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_DEPTH_STREAM_PROFILE, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_IR_STREAM_PROFILE, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_CUSTOMER_DATA, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_STRUCT_DEVICE_STATIC_IP_CONFIG_RECORD, OB_STRUCT_PROPERTY),
    // PROP_INFO_PAIR(OB_STRUCT_LDP_MEASURE_EXTENSION_INFO, OB_STRUCT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_CAPTURE_INTERVAL_MODE_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_CAPTURE_IMAGE_TIME_INTERVAL_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_CAPTURE_IMAGE_NUMBER_INTERVAL_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_SHUTTER_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_MAXIMAL_GAIN_INT, OB_INT_PROPERTY),
    PROP_INFO_PAIR(OB_PROP_COLOR_MAXIMAL_SHUTTER_INT, OB_INT_PROPERTY),
};

// bool isDataListProperty(OBPropertyID propertyId) {
//     switch(propertyId) {
//     case OB_RAW_DATA_DEPTH_CALIB_PARAM:  // follow
//         return true;
//     // case OB_RAW_DATA_D2C_ALIGN_SUPPORT_PROFILE_LIST:
//     //     return true;
//     default:
//         break;
//     }
//     return false;
// }

}  // namespace libobsensor
